package com.swas.entity;

import java.util.ArrayList;
import java.util.List;

public class BaseDeviceExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Long offset;

    public BaseDeviceExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Long offset) {
        this.offset = offset;
    }

    public Long getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andBaseidIsNull() {
            addCriterion("baseId is null");
            return (Criteria) this;
        }

        public Criteria andBaseidIsNotNull() {
            addCriterion("baseId is not null");
            return (Criteria) this;
        }

        public Criteria andBaseidEqualTo(Integer value) {
            addCriterion("baseId =", value, "baseid");
            return (Criteria) this;
        }

        public Criteria andBaseidNotEqualTo(Integer value) {
            addCriterion("baseId <>", value, "baseid");
            return (Criteria) this;
        }

        public Criteria andBaseidGreaterThan(Integer value) {
            addCriterion("baseId >", value, "baseid");
            return (Criteria) this;
        }

        public Criteria andBaseidGreaterThanOrEqualTo(Integer value) {
            addCriterion("baseId >=", value, "baseid");
            return (Criteria) this;
        }

        public Criteria andBaseidLessThan(Integer value) {
            addCriterion("baseId <", value, "baseid");
            return (Criteria) this;
        }

        public Criteria andBaseidLessThanOrEqualTo(Integer value) {
            addCriterion("baseId <=", value, "baseid");
            return (Criteria) this;
        }

        public Criteria andBaseidIn(List<Integer> values) {
            addCriterion("baseId in", values, "baseid");
            return (Criteria) this;
        }

        public Criteria andBaseidNotIn(List<Integer> values) {
            addCriterion("baseId not in", values, "baseid");
            return (Criteria) this;
        }

        public Criteria andBaseidBetween(Integer value1, Integer value2) {
            addCriterion("baseId between", value1, value2, "baseid");
            return (Criteria) this;
        }

        public Criteria andBaseidNotBetween(Integer value1, Integer value2) {
            addCriterion("baseId not between", value1, value2, "baseid");
            return (Criteria) this;
        }

        public Criteria andStockidIsNull() {
            addCriterion("stockId is null");
            return (Criteria) this;
        }

        public Criteria andStockidIsNotNull() {
            addCriterion("stockId is not null");
            return (Criteria) this;
        }

        public Criteria andStockidEqualTo(Integer value) {
            addCriterion("stockId =", value, "stockid");
            return (Criteria) this;
        }

        public Criteria andStockidNotEqualTo(Integer value) {
            addCriterion("stockId <>", value, "stockid");
            return (Criteria) this;
        }

        public Criteria andStockidGreaterThan(Integer value) {
            addCriterion("stockId >", value, "stockid");
            return (Criteria) this;
        }

        public Criteria andStockidGreaterThanOrEqualTo(Integer value) {
            addCriterion("stockId >=", value, "stockid");
            return (Criteria) this;
        }

        public Criteria andStockidLessThan(Integer value) {
            addCriterion("stockId <", value, "stockid");
            return (Criteria) this;
        }

        public Criteria andStockidLessThanOrEqualTo(Integer value) {
            addCriterion("stockId <=", value, "stockid");
            return (Criteria) this;
        }

        public Criteria andStockidIn(List<Integer> values) {
            addCriterion("stockId in", values, "stockid");
            return (Criteria) this;
        }

        public Criteria andStockidNotIn(List<Integer> values) {
            addCriterion("stockId not in", values, "stockid");
            return (Criteria) this;
        }

        public Criteria andStockidBetween(Integer value1, Integer value2) {
            addCriterion("stockId between", value1, value2, "stockid");
            return (Criteria) this;
        }

        public Criteria andStockidNotBetween(Integer value1, Integer value2) {
            addCriterion("stockId not between", value1, value2, "stockid");
            return (Criteria) this;
        }

        public Criteria andUsenumIsNull() {
            addCriterion("useNum is null");
            return (Criteria) this;
        }

        public Criteria andUsenumIsNotNull() {
            addCriterion("useNum is not null");
            return (Criteria) this;
        }

        public Criteria andUsenumEqualTo(Integer value) {
            addCriterion("useNum =", value, "usenum");
            return (Criteria) this;
        }

        public Criteria andUsenumNotEqualTo(Integer value) {
            addCriterion("useNum <>", value, "usenum");
            return (Criteria) this;
        }

        public Criteria andUsenumGreaterThan(Integer value) {
            addCriterion("useNum >", value, "usenum");
            return (Criteria) this;
        }

        public Criteria andUsenumGreaterThanOrEqualTo(Integer value) {
            addCriterion("useNum >=", value, "usenum");
            return (Criteria) this;
        }

        public Criteria andUsenumLessThan(Integer value) {
            addCriterion("useNum <", value, "usenum");
            return (Criteria) this;
        }

        public Criteria andUsenumLessThanOrEqualTo(Integer value) {
            addCriterion("useNum <=", value, "usenum");
            return (Criteria) this;
        }

        public Criteria andUsenumIn(List<Integer> values) {
            addCriterion("useNum in", values, "usenum");
            return (Criteria) this;
        }

        public Criteria andUsenumNotIn(List<Integer> values) {
            addCriterion("useNum not in", values, "usenum");
            return (Criteria) this;
        }

        public Criteria andUsenumBetween(Integer value1, Integer value2) {
            addCriterion("useNum between", value1, value2, "usenum");
            return (Criteria) this;
        }

        public Criteria andUsenumNotBetween(Integer value1, Integer value2) {
            addCriterion("useNum not between", value1, value2, "usenum");
            return (Criteria) this;
        }

        public Criteria andDumpingnumIsNull() {
            addCriterion("dumpingNum is null");
            return (Criteria) this;
        }

        public Criteria andDumpingnumIsNotNull() {
            addCriterion("dumpingNum is not null");
            return (Criteria) this;
        }

        public Criteria andDumpingnumEqualTo(Integer value) {
            addCriterion("dumpingNum =", value, "dumpingnum");
            return (Criteria) this;
        }

        public Criteria andDumpingnumNotEqualTo(Integer value) {
            addCriterion("dumpingNum <>", value, "dumpingnum");
            return (Criteria) this;
        }

        public Criteria andDumpingnumGreaterThan(Integer value) {
            addCriterion("dumpingNum >", value, "dumpingnum");
            return (Criteria) this;
        }

        public Criteria andDumpingnumGreaterThanOrEqualTo(Integer value) {
            addCriterion("dumpingNum >=", value, "dumpingnum");
            return (Criteria) this;
        }

        public Criteria andDumpingnumLessThan(Integer value) {
            addCriterion("dumpingNum <", value, "dumpingnum");
            return (Criteria) this;
        }

        public Criteria andDumpingnumLessThanOrEqualTo(Integer value) {
            addCriterion("dumpingNum <=", value, "dumpingnum");
            return (Criteria) this;
        }

        public Criteria andDumpingnumIn(List<Integer> values) {
            addCriterion("dumpingNum in", values, "dumpingnum");
            return (Criteria) this;
        }

        public Criteria andDumpingnumNotIn(List<Integer> values) {
            addCriterion("dumpingNum not in", values, "dumpingnum");
            return (Criteria) this;
        }

        public Criteria andDumpingnumBetween(Integer value1, Integer value2) {
            addCriterion("dumpingNum between", value1, value2, "dumpingnum");
            return (Criteria) this;
        }

        public Criteria andDumpingnumNotBetween(Integer value1, Integer value2) {
            addCriterion("dumpingNum not between", value1, value2, "dumpingnum");
            return (Criteria) this;
        }

        public Criteria andStocknumIsNull() {
            addCriterion("stockNum is null");
            return (Criteria) this;
        }

        public Criteria andStocknumIsNotNull() {
            addCriterion("stockNum is not null");
            return (Criteria) this;
        }

        public Criteria andStocknumEqualTo(Integer value) {
            addCriterion("stockNum =", value, "stocknum");
            return (Criteria) this;
        }

        public Criteria andStocknumNotEqualTo(Integer value) {
            addCriterion("stockNum <>", value, "stocknum");
            return (Criteria) this;
        }

        public Criteria andStocknumGreaterThan(Integer value) {
            addCriterion("stockNum >", value, "stocknum");
            return (Criteria) this;
        }

        public Criteria andStocknumGreaterThanOrEqualTo(Integer value) {
            addCriterion("stockNum >=", value, "stocknum");
            return (Criteria) this;
        }

        public Criteria andStocknumLessThan(Integer value) {
            addCriterion("stockNum <", value, "stocknum");
            return (Criteria) this;
        }

        public Criteria andStocknumLessThanOrEqualTo(Integer value) {
            addCriterion("stockNum <=", value, "stocknum");
            return (Criteria) this;
        }

        public Criteria andStocknumIn(List<Integer> values) {
            addCriterion("stockNum in", values, "stocknum");
            return (Criteria) this;
        }

        public Criteria andStocknumNotIn(List<Integer> values) {
            addCriterion("stockNum not in", values, "stocknum");
            return (Criteria) this;
        }

        public Criteria andStocknumBetween(Integer value1, Integer value2) {
            addCriterion("stockNum between", value1, value2, "stocknum");
            return (Criteria) this;
        }

        public Criteria andStocknumNotBetween(Integer value1, Integer value2) {
            addCriterion("stockNum not between", value1, value2, "stocknum");
            return (Criteria) this;
        }

        public Criteria andStockchildidIsNull() {
            addCriterion("stockChildId is null");
            return (Criteria) this;
        }

        public Criteria andStockchildidIsNotNull() {
            addCriterion("stockChildId is not null");
            return (Criteria) this;
        }

        public Criteria andStockchildidEqualTo(Integer value) {
            addCriterion("stockChildId =", value, "stockchildid");
            return (Criteria) this;
        }

        public Criteria andStockchildidNotEqualTo(Integer value) {
            addCriterion("stockChildId <>", value, "stockchildid");
            return (Criteria) this;
        }

        public Criteria andStockchildidGreaterThan(Integer value) {
            addCriterion("stockChildId >", value, "stockchildid");
            return (Criteria) this;
        }

        public Criteria andStockchildidGreaterThanOrEqualTo(Integer value) {
            addCriterion("stockChildId >=", value, "stockchildid");
            return (Criteria) this;
        }

        public Criteria andStockchildidLessThan(Integer value) {
            addCriterion("stockChildId <", value, "stockchildid");
            return (Criteria) this;
        }

        public Criteria andStockchildidLessThanOrEqualTo(Integer value) {
            addCriterion("stockChildId <=", value, "stockchildid");
            return (Criteria) this;
        }

        public Criteria andStockchildidIn(List<Integer> values) {
            addCriterion("stockChildId in", values, "stockchildid");
            return (Criteria) this;
        }

        public Criteria andStockchildidNotIn(List<Integer> values) {
            addCriterion("stockChildId not in", values, "stockchildid");
            return (Criteria) this;
        }

        public Criteria andStockchildidBetween(Integer value1, Integer value2) {
            addCriterion("stockChildId between", value1, value2, "stockchildid");
            return (Criteria) this;
        }

        public Criteria andStockchildidNotBetween(Integer value1, Integer value2) {
            addCriterion("stockChildId not between", value1, value2, "stockchildid");
            return (Criteria) this;
        }

        public Criteria andChildnameIsNull() {
            addCriterion("childName is null");
            return (Criteria) this;
        }

        public Criteria andChildnameIsNotNull() {
            addCriterion("childName is not null");
            return (Criteria) this;
        }

        public Criteria andChildnameEqualTo(String value) {
            addCriterion("childName =", value, "childname");
            return (Criteria) this;
        }

        public Criteria andChildnameNotEqualTo(String value) {
            addCriterion("childName <>", value, "childname");
            return (Criteria) this;
        }

        public Criteria andChildnameGreaterThan(String value) {
            addCriterion("childName >", value, "childname");
            return (Criteria) this;
        }

        public Criteria andChildnameGreaterThanOrEqualTo(String value) {
            addCriterion("childName >=", value, "childname");
            return (Criteria) this;
        }

        public Criteria andChildnameLessThan(String value) {
            addCriterion("childName <", value, "childname");
            return (Criteria) this;
        }

        public Criteria andChildnameLessThanOrEqualTo(String value) {
            addCriterion("childName <=", value, "childname");
            return (Criteria) this;
        }

        public Criteria andChildnameLike(String value) {
            addCriterion("childName like", value, "childname");
            return (Criteria) this;
        }

        public Criteria andChildnameNotLike(String value) {
            addCriterion("childName not like", value, "childname");
            return (Criteria) this;
        }

        public Criteria andChildnameIn(List<String> values) {
            addCriterion("childName in", values, "childname");
            return (Criteria) this;
        }

        public Criteria andChildnameNotIn(List<String> values) {
            addCriterion("childName not in", values, "childname");
            return (Criteria) this;
        }

        public Criteria andChildnameBetween(String value1, String value2) {
            addCriterion("childName between", value1, value2, "childname");
            return (Criteria) this;
        }

        public Criteria andChildnameNotBetween(String value1, String value2) {
            addCriterion("childName not between", value1, value2, "childname");
            return (Criteria) this;
        }

        public Criteria andChildstatusIsNull() {
            addCriterion("childStatus is null");
            return (Criteria) this;
        }

        public Criteria andChildstatusIsNotNull() {
            addCriterion("childStatus is not null");
            return (Criteria) this;
        }

        public Criteria andChildstatusEqualTo(String value) {
            addCriterion("childStatus =", value, "childstatus");
            return (Criteria) this;
        }

        public Criteria andChildstatusNotEqualTo(String value) {
            addCriterion("childStatus <>", value, "childstatus");
            return (Criteria) this;
        }

        public Criteria andChildstatusGreaterThan(String value) {
            addCriterion("childStatus >", value, "childstatus");
            return (Criteria) this;
        }

        public Criteria andChildstatusGreaterThanOrEqualTo(String value) {
            addCriterion("childStatus >=", value, "childstatus");
            return (Criteria) this;
        }

        public Criteria andChildstatusLessThan(String value) {
            addCriterion("childStatus <", value, "childstatus");
            return (Criteria) this;
        }

        public Criteria andChildstatusLessThanOrEqualTo(String value) {
            addCriterion("childStatus <=", value, "childstatus");
            return (Criteria) this;
        }

        public Criteria andChildstatusLike(String value) {
            addCriterion("childStatus like", value, "childstatus");
            return (Criteria) this;
        }

        public Criteria andChildstatusNotLike(String value) {
            addCriterion("childStatus not like", value, "childstatus");
            return (Criteria) this;
        }

        public Criteria andChildstatusIn(List<String> values) {
            addCriterion("childStatus in", values, "childstatus");
            return (Criteria) this;
        }

        public Criteria andChildstatusNotIn(List<String> values) {
            addCriterion("childStatus not in", values, "childstatus");
            return (Criteria) this;
        }

        public Criteria andChildstatusBetween(String value1, String value2) {
            addCriterion("childStatus between", value1, value2, "childstatus");
            return (Criteria) this;
        }

        public Criteria andChildstatusNotBetween(String value1, String value2) {
            addCriterion("childStatus not between", value1, value2, "childstatus");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}